package net.schastny.shopmanager.service;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import net.schastny.shopmanager.dao.ContactDAO;
import net.schastny.shopmanager.dao.ParselDAO;
import net.schastny.shopmanager.domain.Contact;
import net.schastny.shopmanager.domain.Parsel;

import org.springframework.stereotype.Service;

/*Service - Мы используем данную аннотацию, чтобы объявить, что этот класс представляет сервис – 
 * компонент сервис-слоя. Сервис является подтипом класса @Component. Использование 
 * данной аннотации позволит искать бины-сервисы автоматически (смотрите далее в 
 * root-context.xml).
 */

@Service
public class ParselServoceImpl implements ParselService {
	@Autowired
    private ParselDAO parselDAO;

	/*
	 * Transactional - Перед исполнением метода помеченного данной аннотацией начинается транзакция, 
	 * после выполнения метода транзакция коммитится, 
	 * при выбрасывании RuntimeException откатывается.
	 */
	@Transactional
	public void addParsel(Parsel parsel) {
		// TODO Auto-generated method stub
		parselDAO.addParsel(parsel);
	}
	
	@Transactional
	public List<Parsel> listParsel() {
		// TODO Auto-generated method stub
		return parselDAO.listParsel();
	}
	
	@Transactional
	public void removeParsel(Integer id) {
		// TODO Auto-generated method stub
		parselDAO.removeParsel(id);
	}
	@Transactional
	public Parsel getParsel(Integer id) {
		// TODO Auto-generated method stub
		return parselDAO.getParsel(id);
	}
	@Transactional
	public void editParsel(Parsel parsel) {
		// TODO Auto-generated method stub
		parselDAO.editParsel(parsel);
	}
	
	
	

}
